package com.aorise.mapper.halt;

import com.aorise.model.halt.HaltAddVO;
import com.aorise.model.halt.HaltModel;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
* @Author:cat
* @Description 停机记录mybatis接口类
* @Date:Created in 2019-06-11
* @Modified By:
*/
@Mapper
@Component(value = "haltMapper")
public interface HaltMapper {
    /**
     * @Author:cat
     * @Description 查询计划停机信息总条数
     * @params: map 查询条件Map
     * @Date:2019-06-11
     * @Return: Long 数据总条数
     * @Modified By:
     */
    Long getAllHaltListTotalByPage(Map<String, Object> map) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 分页查询计划停机信息
     * @params: map 查询条件Map
     * @Date:2019-06-11
     * @Return: List<HaltModel> 计划停机集合
     * @Modified By:
     */
    List<HaltModel> getAllHaltListByPage(Map<String, Object> map) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 根据ID查询计划停机详情
     * @params: map 查询条件Map
     * @Date:2019-06-11
     * @Return: HaltModel 计划停机信息
     * @Modified By:
     */
    HaltModel getHaltById(Map<String, Object> map) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 新增停机记录信息
     * @params: haltAddVO 停机记录信息
     * @Date:2019-06-01
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer addHalt(HaltAddVO haltAddVO) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 删除计划停机信息
     * @params: map 查询条件Map
     * @Date:2019-06-11
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer deleteHalt(Map<String, Object> map) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 查询今天开始停机的数据
     * @params: map 查询条件Map
     * @Date:2019-06-12
     * @Return: List<HaltModel> 计划停机集合
     * @Modified By:
     */
    List<HaltModel> getFinishHalt(Map<String, Object> map) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 更新计划停机审批信息
     * @params: map 查询条件Map
     * @Date:2019-06-18
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer updateHalt(Map<String, Object> map) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 查询停机记录待审批总条数
     * @params: map 查询条件Map
     * @Date:2019-06-11
     * @Return: Long 数据总条数
     * @Modified By:
     */
    Long getHaltSum(Map<String, Object> map) throws DataAccessException;
}